package com.easylinkin.linkappapi.device.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import java.util.Date;
import java.util.List;


@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("app_device_position")
public class DevicePosition extends Model<DevicePosition> {
    /**
     * 设备编码
     */
    @TableId
    private String deviceCode;

    @TableField(exist = false)
    private String deviceName;

    @TableField(exist = false)
    private String deviceTypeName;

    @TableField(exist = false)
    private List<String> deviceTypeNameList;

    /**
     * 电量
     */
    
    private Float positionX;

    /**
     * 电量
     */
    
    private Float positionY;

    /**
     * 租户ID
     */
    
    private String tenantId;

    /**
     * 移除状态，是否从设备模块已移除 0未移除 1已移除
     */
    @TableField("is_remove_")
    private Integer removeStatus;

    /**
     * 设备模块id，0为环境模块,-1为配电箱（逻辑概念，没有页面配置）
     */
    @TableField("model_id_")
    @ApiModelProperty(value = "模块id", required = true, example = "")
    private Integer modelId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", required = false, example = "")
    private Date createTime;

    /**
     * 创建人
     */
    @Length(max = 32, message = "创建人超长")
    @ApiModelProperty(value = "创建人", required = false, example = "")
    private String creator;

    /**
     * 修改人
     */
    @Length(max = 32, message = "修改人超长")
    @ApiModelProperty(value = "修改人", required = false, example = "")
    private String modifier;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间", required = false, example = "")
    private Date modifyTime;

}
